/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package prueba_consumidor;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

public class Consumidor {

	// URL del servidor JMS
	private static String url = ActiveMQConnection.DEFAULT_BROKER_URL;
	//private static String url = "tcp://192.168.1.33:61616?trace=false&soTimeout=60000";

	// Nombre de la cola desde donde recibiremos los mensajes
	private static String subject = "LICITACION";

	public static void main(String[] args) throws JMSException {
		// Obteniendo una conexión JMS del servidor
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
		Connection connection = connectionFactory.createConnection();
		connection.start();

		// Creando una sesión para mensajes enviados
		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

		// Obteniendo la cola 
		Destination destination = session.createQueue(subject);

		// MessageConsumer es usado para recibir (consumir) mensajes
		MessageConsumer consumer = session.createConsumer(destination);

		// Aquí recibimos el mensaje
		// Por defecto esta llamada esta bloqueada, significa que esperará
		// a un mensaje cuando llegue a la cola
		Message message = consumer.receive();

		if (message instanceof TextMessage) {
			TextMessage textMessage = (TextMessage) message;
			System.out.println("Mensaje recibido '" + textMessage.getText()	+ "'");
		}
		connection.close();
	}
}

